The most common types of graphical user interfaces (GUI) are mouse interfaces and direct-touch interfaces. Objects displayed on such display surfaces of the graphical user interfaces are typically manipulated by a user according to an operation-object metaphor.
First, the user selects an operation P via a menu or other user interface means from some predefined set of possible actions. Second, the user selects an object O to which the operation is applied. Sometimes, the metaphor is an object-operation. That is, the object O is selected first, and then the operation P is applied. Crucially, the operation P that is applied to the object O is independent of the location L of the object on a display interface.
Actions A, such as a right mouse click, left mouse click or mouse drag, are used to select the operation, objects, and to apply the operations to the objects. The action applies the operation to the selected object.
Typically, a mode M for applying the operation is determined by the set of operations P(i) that are allowed given the selected object O(i) and previous operations P(i−1) that have already been selected and/or applied to the object. In this case, the operating mode M is determined by the last operation P(i−1) that was selected. The result of an action A for an object O is based on the object, the mode M, and the operation P. The result changes a current state O(i) of the object to a next state O(i+1), i.e., O(i+1)=O(i)+M+P(i). Prior art interfaces usually provide visual indication for the mode. Often the last operation, P(i−1), which sets the mode is either not visible or visible in the form of a toolbar shadow and possibly a cursor image.
FIG. 4 summarizes the operation of typical prior art graphical user interfaces. A set of actions 421 is defined 420. An object having a state (i) 401 is selected and displayed 430. A particular action is executed 440 to perform an operation, which changes the state of the object to (i+1)
For a mouse-based interface, the appearance of a pointer or cursor can indicate the current operating mode M(i). Thus, the pointer serves two roles to the user. The pointer indicates relative positional information (where the action will take place) and the operating mode (what the action will be). However, that scheme does not work well with direct-touch interfaces.
With a direct-touch surface there is no capability for indirect feedback, i.e., there is no way to move the pointer without touching or nearly touching the surface, which usually corresponds to an action. This is because on a direct-touch surface the finger is both the pointer and the input device. Thus, the pointer cannot indicate the position of the input means, e.g., a hand or stylus, when the input means is not in direct contact with the touch-sensitive surface. In other words, the input means will always occlude some portion of the display surface, specifically, the portion which is being operated on. This is another reason why the method of using the visual pointer is not a good choice for displaying the mode of operation for direct-touch interfaces.
Interaction on a display surface with hands provides a potential for gesture by changing finger position and position of both hands. A large display provides more capabilities for segmenting the space to assist use. For example, the PalmPilot segments its touch interface into separate regions for recognizing stylus marks as numbers or letters. This simple segmentation reduces input errors without requiring the user to learn a more complex, and hence, a larger distinguishable set of input drawings.
Therefore, it is desired to provide users of a direct-touch sensitive interface with a system in which the actions that can be applied to an object depend on where the object is located in the display, i.e., each such location is a mode region: the user moves an object to a special area of the window in order to make certain actions possible.